<?php

class InscricoesController extends Phpdf_Controller_Action {

    public function indexAction() {
        $atividades = Atividade::build()->findAll();
        $this->view->atividades = $atividades;
    }

    public function cadastraAction() {
        $this->_helper->layout->disableLayout();
        $this->_helper->viewRenderer->setNoRender();

        $idUsuario = 1; //PEGAR DA SESSÃO
        $idAtividade = $this->_getParam('id_atividade');

        if(Inscricao::build()->existsByIdUsuarioAndIdAtividade($idUsuario, $idAtividade)) {
            echo "Você já está inscrito nessa atividade";
        }else {
            try {
                $inscricao = Inscricao::build()->createRow();
                $inscricao->id_atividade = $idAtividade;
                $inscricao->id_usuario   = $idUsuario;
                $inscricao->dt_cadastro  = date('Y-m-d H:i:s');
                $inscricao->presenca     = 0;
                $inscricao->save();
                echo "Inscrição realizada com sucesso";
            }catch(Exception $e) {
                echo "Erro na inscrição";
            }
        }
    }

    public function inscreverAction() {
        if($this->getRequest()->isPost()) {
            $inscricao    = new Inscricao();
            $dados        = $this->_getAllParams();
            $rowInscricao = $inscricao->createRow();
            unset($dados['id']);

            $rowInscricao->setFromArray($dados);
            try {
                $rowInscricao->save();
                $this->_addMessage('Sua inscrição foi realizado com sucesso');
            } catch ( Exception $e ) {
                $this->_addMessage('Sua inscrição não foi realizado');
            }

        }
        $this->_redirect('index');
    }

    public function verificaemailAction() {

        $dados =$this->getRequest()->getParams();
        $result = $this->getEmail($dados["email"]);

    }

    private function getEmail($email) {

        $config = new Zend_Config(
                array(
                        'database' => array(
                                'adapter' => 'Mysqli',          // Adaptador
                                'params'  => array(
                                        'host'     => 'localhost',  // Host de conex�o
                                        'dbname'   => 'flisol',     // Base de dados
                                        'username' => 'root',       // Login
                                        'password' => '',           // Senha
                                )
                        )
                )
        );

        $db = Zend_Db::factory($config->database);

        $select = $db->select();
        $select->from('usuario', '*')
                ->where('email = ?', $email);
        $result = $db->fetchRow($select);

        if($result == true) {
            $pwd = $this->gerarSenha();
            $pwdMd5 = md5($pwd);
            $result->senha= $pwdMd5;
            $result-save();
            $this->view->msg = "Senha enviada";
            $this->_redirect('inscricoes/recuperasenha');
        }else {
            $this->view->msg = "email inexistente";
            $this->_redirect('inscricoes/recuperasenha');
        }
    }

    private function gerarSenha() {

        $pwdMail = uniqid(time(), true);
        $pwdMail = substr($pwdMail, 25, 8);
        return $pwdMail;

    }
    
    private function sendMail($email,$senha) {
        echo $email."--".$senha;
        $smtp = "smtp.gmail.com";
        $conta = "lenonleite";
        $senhaEmail = "";
        $de = "lenonleite@gmail.com";
        $para = $email;
        $assunto = "Sua senha �: ";
        $mensagem = "Sua nova senha �: ".$senha;

        try {
            $config = array (
                    'auth' => 'login',
                    'username' => $conta,
                    'password' => $senhaEmail,
                    'ssl' => 'ssl',
                    'port' => '465'
            );

            $mailTransport = new Zend_Mail_Transport_Smtp($smtp, $config);

            $mail = new Zend_Mail();
            $mail->setFrom($de);
            $mail->addTo($para);
            $mail->setBodyHtml($mensagem);
            $mail->setSubject($assunto);
            $mail->send($mailTransport);

            $this->_addMessage('Email enviado com SUCESSSO!');
        } catch (Exception $e) {
            $this->_addMessage('Email n�o enviado');
        }

    }
}
